package org.springblade.app.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springblade.core.mp.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import java.time.LocalDateTime;


/**
 * 应用表 实体类
 *
 * @author Chill
 */
@Data
@TableName("shy_app_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "AppInfo对象", description = "应用表")
public class AppInfoEntity extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	 * 应用名称
	 */
	@ApiModelProperty(value = "应用名称")
	private String name;
	/**
	 * 应用别名
	 */
	@ApiModelProperty(value = "应用别名")
	private String alias;
	/**
	 * appId-登录鉴权使用
	 */
	@ApiModelProperty(value = "appId-登录鉴权使用")
	private String appId;
	/**
	 * appSecret-登录鉴权使用
	 */
	@ApiModelProperty(value = "appSecret-登录鉴权使用")
	private String secret;
	/**
	 * 类别-在系统字典表管理，当前使用内置和子应用
	 */
	@ApiModelProperty(value = "类别-在系统字典表管理，当前使用内置和子应用")
	private String category;
	/**
	 * 子应用编号-仅子应用使用
	 */
	@ApiModelProperty(value = "子应用编号-仅子应用使用")
	private String subAppId;
	/**
	 * 拥有者(最高级，可管理管理员集合)
	 */
	@ApiModelProperty(value = "拥有者(最高级，可管理管理员集合)")
	@JsonSerialize(
		using = ToStringSerializer.class
	)
	private Long ownerId;
	/**
	 * 排序
	 */
	@ApiModelProperty(value = "排序")
	private Integer sort;

	/**
	 * 子应用描述
	 */
	@ApiModelProperty(value = "应用描述")
	private String describe;

	/**
	 * logo
	 */
	@ApiModelProperty(value = "logo")
	private String logo;

	/**
	 * 回调地址
	 */
	@ApiModelProperty(value = "回调地址")
	private String callbackUrl;

	/**
	 * 关联单点登录信息id
	 */
	@ApiModelProperty(value = "关联单点登录信息id")
	@JsonSerialize(
		using = ToStringSerializer.class
	)
	private Long linkLogId;

	/**
	 * 应用地址
	 */
	@ApiModelProperty(value = "应用地址")
	private String mainUrl;
}
